package com.zzyl.nursing.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class NursingTaskVo {
    /**
     * 对应数据库 id
     */
    private Long id;

    /**
     * 护理ID列表（支持多个ID）
     */
    @JsonProperty("nursingId")  // 对应JSON中的"nursingId": ["id1", "id2"]
    private List<String> nursingId;  // 由单个String改为List<String>

    /**
     * 对应数据库 project_id
     */
    @JsonProperty("projectId")
    private Integer projectId;

    /**
     * 对应数据库 project_name
     */
    @JsonProperty("projectName")
    private String projectName;

    /**
     * 对应数据库 elder_id
     */
    @JsonProperty("elderId")
    private Long elderId;

    /**
     * 对应数据库 elder_name
     */
    @JsonProperty("elderName")
    private String elderName;

    /**
     * 对应数据库 bed_number
     */
    @JsonProperty("bedNumber")
    private String bedNumber;

    /**
     * 对应数据库 estimated_server_time，指定 JSON 反序列化时间格式
     */
    @JsonProperty("estimatedServerTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime estimatedServerTime;

    /**
     * 对应数据库 status
     */
    private Integer status;

    /**
     * 护理人员姓名列表，数据库无直接对应字段，需关联查询后封装
     */
    @JsonProperty("nursingName")
    private List<String> nursingName;

    /**
     * 对应数据库 create_time，指定 JSON 反序列化时间格式
     */
    @JsonProperty("createTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 对应数据库 real_server_time，指定 JSON 反序列化时间格式
     */
    @JsonProperty("realServerTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime realServerTime;

    /**
     * 对应数据库 cancel_reason
     */
    @JsonProperty("cancelReason")
    private String cancelReason;

    /**
     * 对应数据库 task_image
     */
    @JsonProperty("taskImage")
    private String taskImage;

    /**
     * 对应数据库 remark
     */
    private String remark;
}